
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

package com.hlkj.pay.app.adminuser;

import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.pay.vo.admin.req.user.AdminUserLoginReq;
import com.hlkj.pay.vo.admin.req.user.AdminUserPhoneLoginReq;
import com.hlkj.pay.vo.admin.req.user.AdminUserForgetPwdReq;
import com.hlkj.pay.vo.common.resp.token.LoginTokenResp;
import com.hlkj.pay.vo.common.resp.token.OauthTokenResp;

/**
 * @author HlpayTeam
 * @date 2024/09/24 14:38
 */
public interface IAdminUserLoginAppService {

    /**
     * login
     * @param userLoginReq
     * @return
     */
    CommonResult<LoginTokenResp> login(AdminUserLoginReq userLoginReq);
    /**
     * login
     * @param userLoginReq
     * @return
     */
    CommonResult<LoginTokenResp> codeLogin(AdminUserPhoneLoginReq userLoginReq);

    /**
     *  logout
     * @return
     */
    CommonResult<Void> logout();

    /**
     * refreshToken
     * @return
     */
    CommonResult<OauthTokenResp> refreshToken(String refreshToken);


    /**
     * mfaLogin
     * @param authCode
     * @return
     */
    CommonResult<OauthTokenResp> mfaLogin(String authCode);
    /**
     * 重置密码
     * @param adminUserForgetPwdReq
     * @return
     */
    CommonResult<Void> forgetPwd(AdminUserForgetPwdReq adminUserForgetPwdReq);
  
}
